﻿using System;
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;

// Token: 0x02000015 RID: 21
public class GameManager : MonoBehaviour
{
	// Token: 0x06000055 RID: 85 RVA: 0x000090D7 File Offset: 0x000072D7
	public void ChangeMasterVol(float change)
	{
		PlayerPrefs.SetFloat("masterVol", Mathf.Clamp01(PlayerPrefs.GetFloat("masterVol") + change));
		AudioListener.volume = PlayerPrefs.GetFloat("masterVol");
	}

	// Token: 0x06000056 RID: 86 RVA: 0x00009104 File Offset: 0x00007304
	public List<GameObject> RandomEnemyList(List<GameObject> list, int amount)
	{
		List<GameObject> list2 = new List<GameObject>();
		for (int i = 0; i < amount; i++)
		{
			list2.Add(list[Random.Range(0, list.Count)]);
		}
		return list2;
	}

	// Token: 0x06000057 RID: 87 RVA: 0x0000913C File Offset: 0x0000733C
	public IEnumerator ZombifyCharacter(BodyScript body)
	{
		yield return new WaitForSeconds(3.5f);
		if (body && !body.decapitated)
		{
			BodyScript component = ((GameObject)Object.Instantiate(Resources.Load("Special/FollowerZed"), Vector2.zero, Quaternion.identity)).GetComponent<BodyScript>();
			component.lookDir = body.lookDir;
			for (int i = 0; i < component.limbs.Count; i++)
			{
				component.limbs[i].transform.position = body.limbs[i].transform.position;
				component.limbs[i].transform.rotation = body.limbs[i].transform.rotation;
			}
			component.knockOutTime = 1f;
			component.bloodColor = Color.Lerp(body.bloodColor, Color.black, 0.3f);
			component.torsoSprites = body.torsoSprites;
			component.torso.GetComponent<SpriteRenderer>().sprite = body.torso.GetComponent<SpriteRenderer>().sprite;
			PauseManager.main.TryUnlockAchievement(20);
			Object.Destroy(body.gameObject);
		}
		yield return null;
		yield break;
	}

	// Token: 0x06000058 RID: 88 RVA: 0x0000914B File Offset: 0x0000734B
	public IEnumerator ZombifyCharacterEnemy(BodyScript body)
	{
		yield return new WaitForSeconds(2f);
		if (body && !body.decapitated)
		{
			BodyScript component = ((GameObject)Object.Instantiate(Resources.Load("Enemy/Zed"), Vector2.zero, Quaternion.identity)).GetComponent<BodyScript>();
			component.lookDir = body.lookDir;
			for (int i = 0; i < component.limbs.Count; i++)
			{
				component.limbs[i].transform.position = body.limbs[i].transform.position;
				component.limbs[i].transform.rotation = body.limbs[i].transform.rotation;
			}
			component.bloodColor = Color.Lerp(body.bloodColor, Color.black, 0.3f);
			component.torsoSprites = body.torsoSprites;
			component.torso.GetComponent<SpriteRenderer>().sprite = body.torso.GetComponent<SpriteRenderer>().sprite;
			Object.Destroy(body.gameObject);
		}
		yield return null;
		yield break;
	}

	// Token: 0x06000059 RID: 89 RVA: 0x0000915A File Offset: 0x0000735A
	public IEnumerator ArenaEnd()
	{
		int @int = PlayerPrefs.GetInt("runsCompleted");
		if (@int >= 1)
		{
			PauseManager.main.TryUnlockAchievement(5);
		}
		if (@int >= 2)
		{
			PauseManager.main.TryUnlockAchievement(6);
		}
		if (@int >= 5)
		{
			PauseManager.main.TryUnlockAchievement(7);
		}
		if (@int >= 10)
		{
			PauseManager.main.TryUnlockAchievement(8);
		}
		yield return new WaitForSeconds(1.5f);
		this.endTextObj.SetActive(true);
		switch (PlayerPrefs.GetInt("runsCompleted"))
		{
		case 0:
			this.endText.text = "QUIT CHEATING.";
			yield return new WaitForSeconds(3f);
			break;
		case 1:
			this.endText.text = "WELL DONE, RECRUIT.";
			yield return new WaitForSeconds(3f);
			this.endText.text = "YOU HAVE PROVEN YOUR WORTH.";
			yield return new WaitForSeconds(3f);
			this.endText.text = "YOU WILL MAKE FOR A GOOD FIGHTER.";
			yield return new WaitForSeconds(3f);
			this.endText.text = "WELCOME TO THE A.A.H.W.";
			yield return new WaitForSeconds(3f);
			break;
		case 2:
			this.endText.text = "YOU KEEP SURPRISING ME.";
			yield return new WaitForSeconds(3f);
			this.endText.text = "YOU ARE BLAZING THROUGH THE SIMULATION.";
			yield return new WaitForSeconds(3f);
			this.endText.text = "YOU STAND OUT FROM THE OTHERS.";
			yield return new WaitForSeconds(3f);
			this.endText.text = "CONGRATULATIONS.";
			yield return new WaitForSeconds(3f);
			break;
		case 3:
			this.endText.text = "THIS LOOKS EASY FOR YOU.";
			yield return new WaitForSeconds(3f);
			this.endText.text = "SHOULD I MAKE THE SIMULATION MORE DIFFICULT?";
			yield return new WaitForSeconds(3f);
			this.endText.text = "ARE YOU LOOKING FOR A BIGGER CHALLENGE?";
			yield return new WaitForSeconds(3f);
			this.endText.text = "COME ON.";
			yield return new WaitForSeconds(3f);
			break;
		case 4:
			this.endText.text = "YOU STRIVE FOR IMPROVEMENT.";
			yield return new WaitForSeconds(3f);
			this.endText.text = "THIS LITTLE SLEEPWALKER PROGRAM STANDS NO CHANCE TO YOU.";
			yield return new WaitForSeconds(3f);
			this.endText.text = "PERHAPS YOU WISH TO TRY OUT YOUR SKILLS ON THE BATTLEFIELD?";
			yield return new WaitForSeconds(3f);
			this.endText.text = "NO?";
			yield return new WaitForSeconds(3f);
			this.endText.text = "...";
			yield return new WaitForSeconds(3f);
			break;
		case 5:
			this.endText.text = "YOU ARE ADVANCING UP THE RANKS.";
			yield return new WaitForSeconds(3f);
			this.endText.text = "NOTE:";
			yield return new WaitForSeconds(2f);
			this.endText.text = "THIS VERSION OF HANK IS MADE TO BE SLIGHTLY LESS POWERFUL THAN THE ORIGINAL.";
			yield return new WaitForSeconds(3f);
			this.endText.text = "WE ARE AFRAID THAT MAKING HIM ANY STRONGER WOULD MAKE THIS CHALLENGE... NOT VERY POSSIBLE.";
			yield return new WaitForSeconds(3f);
			this.endText.text = "UNLESS?";
			yield return new WaitForSeconds(3f);
			break;
		case 6:
			this.endText.text = "YOU HAVEN'T LEFT THE SIMULATION IN FOREVER.";
			yield return new WaitForSeconds(3f);
			this.endText.text = "ARE YOU THAT COMFORTABLE IN THERE?";
			yield return new WaitForSeconds(3f);
			this.endText.text = "I'M SPEAKING TO YOU THROUGH A MICROPHONE IMPLANTED INTO THIS DEVICE.";
			yield return new WaitForSeconds(3f);
			this.endText.text = "WHY DON'T YOU WANT TO LEAVE?";
			yield return new WaitForSeconds(3f);
			this.endText.text = "...SEE THE REAL WORLD?";
			yield return new WaitForSeconds(3f);
			break;
		case 7:
			this.endText.text = "YOUR ADVANCEMENTS ARE NOTED.";
			yield return new WaitForSeconds(3f);
			this.endText.text = "THE ENTIRE AGENCY IS VERY IMPRESSED WITH YOUR SKILLS";
			yield return new WaitForSeconds(3f);
			this.endText.text = "YET, I AM MODERATELY WORRIED.";
			yield return new WaitForSeconds(3f);
			this.endText.text = "...LYING IN A MACHINE FOR THIS LONG CANNOT BE HEALTHY.";
			yield return new WaitForSeconds(3f);
			break;
		case 8:
			this.endText.text = "WHY DO YOU NOT WANT TO LEAVE?";
			yield return new WaitForSeconds(3f);
			this.endText.text = "THE PROTOCOLS FOR EXITING THE SIMULATION WERE CLEARLY STATED BEFORE WE STARTED.";
			yield return new WaitForSeconds(3f);
			this.endText.text = "DID YOU FORGET?";
			yield return new WaitForSeconds(3f);
			this.endText.text = "PLEASE, RESPOND.";
			yield return new WaitForSeconds(3f);
			this.endText.text = "THIS IS WORRYING, RECRUIT.";
			yield return new WaitForSeconds(3f);
			break;
		case 9:
			this.endText.text = "I DON'T KNOW WHAT TO SAY.";
			yield return new WaitForSeconds(3f);
			this.endText.text = "YOU'VE BEEN LYING IN THIS MACHINE FOR DAYS.";
			yield return new WaitForSeconds(3f);
			this.endText.text = "COME ON...";
			yield return new WaitForSeconds(3f);
			this.endText.text = "RETURN TO US! TO THE REAL WORLD.";
			yield return new WaitForSeconds(3f);
			this.endText.text = "WE NEED YOU.";
			yield return new WaitForSeconds(3f);
			break;
		default:
			this.endText.text = "...";
			yield return new WaitForSeconds(3f);
			break;
		}
		foreach (Rigidbody2D rigidbody2D in this.playerBody.limbs)
		{
			rigidbody2D.gravityScale = 0f;
		}
		this.playerBody.gameObject.AddComponent<DissapearHandler>();
		Sound.Play(Resources.Load<AudioClip>("Sounds/Grunt/BigDeath/VRGuyDeath4"), Vector2.zero, true, false, 1f);
		yield return new WaitForSeconds(1.5f);
		this.sceneLoadTarget = "OriginSelect";
		this.fadingOut = true;
		yield return null;
		yield break;
	}

	// Token: 0x0600005A RID: 90 RVA: 0x0000916C File Offset: 0x0000736C
	public void SpawnDamageNum(Vector2 pos, float damage, BodyScript body)
	{
		if (this.doDmgNum)
		{
			GameObject gameObject = Object.Instantiate(Resources.Load("DamageNum"), pos, Quaternion.identity) as GameObject;
			gameObject.GetComponent<TextMeshPro>().text = Mathf.RoundToInt(damage).ToString();
			if (body == this.playerBody)
			{
				gameObject.GetComponent<TextMeshPro>().color = this.damageNumPlayer.Evaluate(damage * 0.01f);
			}
			else
			{
				gameObject.GetComponent<TextMeshPro>().color = this.damageNumEnemy.Evaluate(damage * 0.01f);
			}
			gameObject.GetComponent<TextMeshPro>().fontSize = 2f + damage * 0.1f;
		}
	}

	// Token: 0x0600005B RID: 91 RVA: 0x00009220 File Offset: 0x00007420
	public void SpawnPerfectBlock(Vector2 pos)
	{
		Object.Destroy(Object.Instantiate(Resources.Load("PerfectText"), pos, Quaternion.identity) as GameObject, 1f);
		Object.Destroy(Object.Instantiate(Resources.Load("BreakParticle"), pos, Quaternion.identity) as GameObject, 1f);
		PauseManager.main.TryUnlockAchievement(4);
	}

	// Token: 0x0600005C RID: 92 RVA: 0x0000928C File Offset: 0x0000748C
	public float PlayerRegenByDifficulty()
	{
		if (!this.isArena)
		{
			return 4f;
		}
		float num = (float)PlayerPrefs.GetInt("up4") * 0.2f;
		if (PlayerPrefs.GetInt("difficulty") == 0)
		{
			return 2.7f + num;
		}
		if (PlayerPrefs.GetInt("difficulty") == 1)
		{
			return 1.8f + num;
		}
		return 0.7f + num;
	}

	// Token: 0x0600005D RID: 93 RVA: 0x000092EC File Offset: 0x000074EC
	private void Start()
	{
		GameManager.main = this;
		this.uiFade.gameObject.SetActive(true);
		this.sceneLoadTarget = SceneManager.GetActiveScene().name;
		if (this.isArena)
		{
			if (!PlayerPrefs.HasKey("character"))
			{
				this.ResetProgress();
			}
			if (PlayerPrefs.GetInt("latestVer") != this.curVersion)
			{
				PlayerPrefs.SetInt("latestVer", this.curVersion);
				this.ResetProgress();
				SceneManager.LoadScene("RealTutorial");
			}
		}
		else
		{
			this.waveText.gameObject.SetActive(false);
			this.xpText.gameObject.SetActive(false);
			this.spText.gameObject.SetActive(false);
			this.highScoreText.gameObject.SetActive(false);
			this.progressImg.gameObject.SetActive(false);
			this.progressBack.gameObject.SetActive(false);
		}
		if (!PlayerPrefs.HasKey("masterVol"))
		{
			PlayerPrefs.SetFloat("masterVol", 0.5f);
		}
		AudioListener.volume = PlayerPrefs.GetFloat("masterVol");
		if (this.isArena)
		{
			this.playerPrefab = PlayerPrefs.GetString("character");
			if (this.playerPrefab != "Enemy/Enemy")
			{
				PlayerPrefs.SetInt("gameComplete", 1);
			}
		}
		GameObject gameObject = Object.Instantiate(Resources.Load(this.playerPrefab), Vector2.zero, Quaternion.identity) as GameObject;
		if (gameObject.GetComponent<AI>())
		{
			Object.Destroy(gameObject.GetComponent<AI>());
		}
		gameObject.AddComponent<PlayerInput>().body = gameObject.GetComponent<BodyScript>();
		Object.FindObjectOfType<BloodDamageUI>().body = gameObject.GetComponent<BodyScript>();
		Object.FindObjectOfType<MusicManager>().body = gameObject.GetComponent<BodyScript>();
		gameObject.GetComponent<BodyScript>().team = "goodguy";
		this.playerBody = gameObject.GetComponent<BodyScript>();
		this.playerBody.gameObject.AddComponent<HealthRegen>().hpPerSec = this.PlayerRegenByDifficulty();
		this.playerBody.hitStunMult -= 0.6f;
		if (CameraController.main)
		{
			CameraController.main.checkTransform = this.playerBody.torso.transform;
		}
		if (this.isArena)
		{
			this.waveNumber = (float)PlayerPrefs.GetInt("startWave");
			this.arena = Object.Instantiate<GameObject>(this.arenaPrefabs[Random.Range(0, this.arenaPrefabs.Length)], Vector2.zero, Quaternion.identity);
			if (CameraController.main)
			{
				CameraController.main.UpdatePoints();
			}
			this.spawnPoints.Clear();
			foreach (GameObject gameObject2 in GameObject.FindGameObjectsWithTag("SpawnPoint"))
			{
				this.spawnPoints.Add(gameObject2.transform);
			}
			if (PlayerPrefs.GetString("character") != "Special/Parasite")
			{
				this.playerBody.overallForce += (float)PlayerPrefs.GetInt("up1") * 0.2f;
				this.playerBody.attackTimeMult += (float)PlayerPrefs.GetInt("up1") * 0.05f;
				this.playerBody.moveForce += (float)PlayerPrefs.GetInt("up2") * 10f;
				this.playerBody.maxSpeed += (float)PlayerPrefs.GetInt("up2") * 0.5f;
				this.playerBody.turnSpeed += (float)PlayerPrefs.GetInt("up2") * 0.1f;
				this.playerBody.jumpForce += (float)PlayerPrefs.GetInt("up2") * 1.5f;
				this.playerBody.health += (float)PlayerPrefs.GetInt("up3") * 8f;
				this.playerBody.maxHealth = this.playerBody.health;
				this.playerBody.hitStunMult -= (float)PlayerPrefs.GetInt("up5") * 0.08f;
			}
			if (PlayerPrefs.GetString("character") == "Special/Parasite")
			{
				ParasiteScript parasiteScript = base.gameObject.AddComponent<ParasiteScript>();
				GameObject gameObject3 = Object.Instantiate(Resources.Load("ParasiteUI"), Vector2.zero, Quaternion.identity) as GameObject;
				parasiteScript.circleImage = gameObject3.transform.GetChild(0).GetComponent<Image>();
				parasiteScript.parasiteImage = gameObject3.transform.GetChild(1).GetComponent<Image>();
			}
			this.SpawnWave();
		}
		this.deathTipText.text = this.deathTips[Random.Range(0, this.deathTips.Count)];
		GameObject gameObject4 = new GameObject("PlayerIcon", new Type[]
		{
			typeof(SpriteRenderer)
		});
		this.playerIndicator = gameObject4.GetComponent<SpriteRenderer>();
		this.playerIndicator.sprite = Resources.Load<Sprite>("playerIndicator");
		this.playerIndicator.color = new Color(this.playerBody.dizzyIconColor.r, this.playerBody.dizzyIconColor.g, this.playerBody.dizzyIconColor.b, 0.35f);
		gameObject4.transform.position = this.playerBody.head.transform.position;
	}

	// Token: 0x0600005E RID: 94 RVA: 0x0000984C File Offset: 0x00007A4C
	public void BuySkill(int skill)
	{
		int num = 25;
		for (int i = 1; i < 6; i++)
		{
			if (PlayerPrefs.GetInt("up" + i.ToString()) < num)
			{
				num = PlayerPrefs.GetInt("up" + i.ToString());
			}
		}
		if (PlayerPrefs.GetInt("sp") > 0)
		{
			switch (skill)
			{
			case 0:
				if (PlayerPrefs.GetInt("up1") < 25 && PlayerPrefs.GetInt("up1") < num + 8)
				{
					PlayerPrefs.SetInt("up1", PlayerPrefs.GetInt("up1") + 1);
					PlayerPrefs.SetInt("sp", PlayerPrefs.GetInt("sp") - 1);
				}
				else if (PlayerPrefs.GetInt("up1") >= num + 8)
				{
					this.upgradeWarning.SetActive(true);
				}
				break;
			case 1:
				if (PlayerPrefs.GetInt("up2") < 25 && PlayerPrefs.GetInt("up2") < num + 8)
				{
					PlayerPrefs.SetInt("up2", PlayerPrefs.GetInt("up2") + 1);
					PlayerPrefs.SetInt("sp", PlayerPrefs.GetInt("sp") - 1);
				}
				else if (PlayerPrefs.GetInt("up2") >= num + 8)
				{
					this.upgradeWarning.SetActive(true);
				}
				break;
			case 2:
				if (PlayerPrefs.GetInt("up3") < 25 && PlayerPrefs.GetInt("up3") < num + 8)
				{
					PlayerPrefs.SetInt("up3", PlayerPrefs.GetInt("up3") + 1);
					PlayerPrefs.SetInt("sp", PlayerPrefs.GetInt("sp") - 1);
				}
				else if (PlayerPrefs.GetInt("up3") >= num + 8)
				{
					this.upgradeWarning.SetActive(true);
				}
				break;
			case 3:
				if (PlayerPrefs.GetInt("up4") < 25 && PlayerPrefs.GetInt("up4") < num + 8)
				{
					PlayerPrefs.SetInt("up4", PlayerPrefs.GetInt("up4") + 1);
					PlayerPrefs.SetInt("sp", PlayerPrefs.GetInt("sp") - 1);
				}
				else if (PlayerPrefs.GetInt("up4") >= num + 8)
				{
					this.upgradeWarning.SetActive(true);
				}
				break;
			case 4:
				if (PlayerPrefs.GetInt("up5") < 25 && PlayerPrefs.GetInt("up5") < num + 8)
				{
					PlayerPrefs.SetInt("up5", PlayerPrefs.GetInt("up5") + 1);
					PlayerPrefs.SetInt("sp", PlayerPrefs.GetInt("sp") - 1);
				}
				else if (PlayerPrefs.GetInt("up5") >= num + 8)
				{
					this.upgradeWarning.SetActive(true);
				}
				break;
			}
		}
		this.spText.text = PlayerPrefs.GetInt("sp").ToString() + " skill points";
	}

	// Token: 0x0600005F RID: 95 RVA: 0x00009B14 File Offset: 0x00007D14
	public void AddExp(int amount)
	{
		PlayerPrefs.SetInt("xp", PlayerPrefs.GetInt("xp") + amount);
		if (PlayerPrefs.GetInt("xp") >= PlayerPrefs.GetInt("xpCap"))
		{
			PlayerPrefs.SetInt("xp", PlayerPrefs.GetInt("xp") - PlayerPrefs.GetInt("xpCap"));
			PlayerPrefs.SetInt("sp", PlayerPrefs.GetInt("sp") + 3);
			PlayerPrefs.SetInt("xpCap", Mathf.RoundToInt((float)(PlayerPrefs.GetInt("xpCap") + 50) * 1.1f));
		}
		this.xpText.text = PlayerPrefs.GetInt("xp").ToString() + "XP\n" + PlayerPrefs.GetInt("xpCap").ToString() + "XP to next";
		this.spText.text = PlayerPrefs.GetInt("sp").ToString() + " skill points";
	}

	// Token: 0x06000060 RID: 96 RVA: 0x00009C0C File Offset: 0x00007E0C
	public void SpawnWave()
	{
		if (this.startedWave)
		{
			PlayerPrefs.SetInt("xp", PlayerPrefs.GetInt("xp") + 4 + PlayerPrefs.GetInt("difficulty") * 2 + Mathf.RoundToInt(this.waveNumber * 1.5f));
			if (this.playerBody.health < 22f && this.playerBody.health > 0f)
			{
				PauseManager.main.TryUnlockAchievement(9);
			}
			this.playerBody.health = Mathf.Lerp(this.playerBody.health, this.playerBody.maxHealth, 0.3f);
			this.playerBody.health += (float)PlayerPrefs.GetInt("up4") * 5f;
			if (this.playerBody.health > this.playerBody.maxHealth)
			{
				this.playerBody.health = this.playerBody.maxHealth;
			}
			if (this.waveNumber == 20f)
			{
				PauseManager.main.TryUnlockAchievement(0);
			}
			if (this.waveNumber == 40f)
			{
				PauseManager.main.TryUnlockAchievement(1);
			}
			if (this.waveNumber == 60f)
			{
				PauseManager.main.TryUnlockAchievement(2);
			}
			if (this.waveNumber == 80f)
			{
				PauseManager.main.TryUnlockAchievement(3);
			}
		}
		else
		{
			this.startedWave = true;
		}
		foreach (Rigidbody2D rigidbody2D in this.playerBody.limbs)
		{
			foreach (SpriteRenderer spriteRenderer in rigidbody2D.GetComponentsInChildren<SpriteRenderer>())
			{
				if (spriteRenderer.name == "Wound(Clone)")
				{
					spriteRenderer.gameObject.AddComponent<WoundDissScript>();
				}
			}
		}
		if (PlayerPrefs.GetInt("xp") >= PlayerPrefs.GetInt("xpCap"))
		{
			PlayerPrefs.SetInt("xp", PlayerPrefs.GetInt("xp") - PlayerPrefs.GetInt("xpCap"));
			PlayerPrefs.SetInt("sp", PlayerPrefs.GetInt("sp") + 3);
			PlayerPrefs.SetInt("xpCap", Mathf.RoundToInt((float)(PlayerPrefs.GetInt("xpCap") + 50) * 1.1f));
		}
		this.xpText.text = PlayerPrefs.GetInt("xp").ToString() + "XP\n" + PlayerPrefs.GetInt("xpCap").ToString() + "XP to next";
		this.spText.text = PlayerPrefs.GetInt("sp").ToString() + " skill points";
		this.waveNumber += 1f;
		this.waveText.text = "Wave " + this.waveNumber.ToString();
		this.progressImg.fillAmount = (float)PlayerPrefs.GetInt("xp") / (float)PlayerPrefs.GetInt("xpCap");
		foreach (BodyScript bodyScript in this.bodies)
		{
			bodyScript.gameObject.AddComponent<DissapearHandler>();
		}
		this.bodies.Clear();
		List<GameObject> list = new List<GameObject>();
		new List<GameObject>();
		float num = this.waveNumber;
		if (num != 1f)
		{
			if (num != 2f)
			{
				if (num != 3f)
				{
					if (num != 4f)
					{
						if (num != 5f)
						{
							if (num != 6f)
							{
								if (num != 7f)
								{
									if (num != 8f)
									{
										if (num != 9f)
										{
											if (num != 10f)
											{
												if (num != 11f)
												{
													if (num != 12f)
													{
														if (num != 13f)
														{
															if (num != 14f)
															{
																if (num != 15f)
																{
																	if (num != 16f)
																	{
																		if (num != 17f)
																		{
																			if (num != 18f)
																			{
																				if (num != 19f)
																				{
																					if (num != 20f)
																					{
																						if (num != 21f)
																						{
																							if (num != 22f)
																							{
																								if (num != 23f)
																								{
																									if (num != 24f)
																									{
																										if (num != 25f)
																										{
																											if (num != 26f)
																											{
																												if (num != 27f)
																												{
																													if (num != 28f)
																													{
																														if (num != 29f)
																														{
																															if (num != 30f)
																															{
																																if (num != 31f)
																																{
																																	if (num != 32f)
																																	{
																																		if (num != 33f)
																																		{
																																			if (num != 34f)
																																			{
																																				if (num != 35f)
																																				{
																																					if (num != 36f)
																																					{
																																						if (num != 37f)
																																						{
																																							if (num != 38f)
																																							{
																																								if (num != 39f)
																																								{
																																									if (num != 40f)
																																									{
																																										if (num != 41f)
																																										{
																																											if (num != 42f)
																																											{
																																												if (num != 43f)
																																												{
																																													if (num != 44f)
																																													{
																																														if (num != 45f)
																																														{
																																															if (num != 46f)
																																															{
																																																if (num != 47f)
																																																{
																																																	if (num != 48f)
																																																	{
																																																		if (num != 49f)
																																																		{
																																																			if (num != 50f)
																																																			{
																																																				if (num != 51f)
																																																				{
																																																					if (num != 52f)
																																																					{
																																																						if (num != 53f)
																																																						{
																																																							if (num != 54f)
																																																							{
																																																								if (num != 55f)
																																																								{
																																																									if (num != 56f)
																																																									{
																																																										if (num != 57f)
																																																										{
																																																											if (num != 58f)
																																																											{
																																																												if (num != 59f)
																																																												{
																																																													if (num != 60f)
																																																													{
																																																														if (num != 61f)
																																																														{
																																																															if (num != 62f)
																																																															{
																																																																if (num != 63f)
																																																																{
																																																																	if (num != 64f)
																																																																	{
																																																																		if (num != 65f)
																																																																		{
																																																																			if (num != 66f)
																																																																			{
																																																																				if (num != 67f)
																																																																				{
																																																																					if (num != 68f)
																																																																					{
																																																																						if (num != 69f)
																																																																						{
																																																																							if (num != 70f)
																																																																							{
																																																																								if (num != 71f)
																																																																								{
																																																																									if (num != 72f)
																																																																									{
																																																																										if (num != 73f)
																																																																										{
																																																																											if (num != 74f)
																																																																											{
																																																																												if (num != 75f)
																																																																												{
																																																																													if (num != 76f)
																																																																													{
																																																																														if (num != 77f)
																																																																														{
																																																																															if (num != 78f)
																																																																															{
																																																																																if (num != 79f)
																																																																																{
																																																																																	if (num != 80f)
																																																																																	{
																																																																																		if (num != 81f)
																																																																																		{
																																																																																			if (num != 82f)
																																																																																			{
																																																																																				if (num != 83f)
																																																																																				{
																																																																																					if (num != 84f)
																																																																																					{
																																																																																						if (num != 85f)
																																																																																						{
																																																																																							if (num != 86f)
																																																																																							{
																																																																																								if (num != 87f)
																																																																																								{
																																																																																									if (num != 88f)
																																																																																									{
																																																																																										if (num != 89f)
																																																																																										{
																																																																																											if (num != 90f)
																																																																																											{
																																																																																												if (num != 91f)
																																																																																												{
																																																																																													if (num != 92f)
																																																																																													{
																																																																																														if (num != 93f)
																																																																																														{
																																																																																															if (num != 94f)
																																																																																															{
																																																																																																if (num != 95f)
																																																																																																{
																																																																																																	if (num != 96f)
																																																																																																	{
																																																																																																		if (num != 97f)
																																																																																																		{
																																																																																																			if (num != 98f)
																																																																																																			{
																																																																																																				if (num != 99f)
																																																																																																				{
																																																																																																					if (num == 100f)
																																																																																																					{
																																																																																																						list.Add(this.enmPrefabs[12]);
																																																																																																						if (MusicManager.main)
																																																																																																						{
																																																																																																							MusicManager.main.source.clip = Resources.Load<AudioClip>("Music/hankenstein");
																																																																																																							MusicManager.main.source.Play();
																																																																																																						}
																																																																																																					}
																																																																																																				}
																																																																																																				else
																																																																																																				{
																																																																																																					list.Add(this.enmPrefabs[8]);
																																																																																																					list.Add(this.enmPrefabs[9]);
																																																																																																					list.Add(this.enmPrefabs[10]);
																																																																																																					list.Add(this.enmPrefabs[11]);
																																																																																																					list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																																																				}
																																																																																																			}
																																																																																																			else
																																																																																																			{
																																																																																																				list.Add(this.enmPrefabs[8]);
																																																																																																				list.Add(this.enmPrefabs[9]);
																																																																																																				list.Add(this.enmPrefabs[10]);
																																																																																																				list.Add(this.enmPrefabs[11]);
																																																																																																				list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																																																			}
																																																																																																		}
																																																																																																		else
																																																																																																		{
																																																																																																			list.Add(this.enmPrefabs[8]);
																																																																																																			list.Add(this.enmPrefabs[9]);
																																																																																																			list.Add(this.enmPrefabs[10]);
																																																																																																			list.Add(this.enmPrefabs[11]);
																																																																																																			list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																																																		}
																																																																																																	}
																																																																																																	else
																																																																																																	{
																																																																																																		list.Add(this.enmPrefabs[8]);
																																																																																																		list.Add(this.enmPrefabs[9]);
																																																																																																		list.Add(this.enmPrefabs[10]);
																																																																																																		list.Add(this.enmPrefabs[11]);
																																																																																																		list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																																																	}
																																																																																																}
																																																																																																else
																																																																																																{
																																																																																																	list.Add(this.enmPrefabs[7]);
																																																																																																	list.Add(this.enmPrefabs[8]);
																																																																																																	list.Add(this.enmPrefabs[9]);
																																																																																																	list.Add(this.enmPrefabs[10]);
																																																																																																	list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																																																	list.Add(this.enmPrefabs[4]);
																																																																																																}
																																																																																															}
																																																																																															else
																																																																																															{
																																																																																																list.Add(this.enmPrefabs[7]);
																																																																																																list.Add(this.enmPrefabs[8]);
																																																																																																list.Add(this.enmPrefabs[9]);
																																																																																																list.Add(this.enmPrefabs[10]);
																																																																																																list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																																															}
																																																																																														}
																																																																																														else
																																																																																														{
																																																																																															list.Add(this.enmPrefabs[7]);
																																																																																															list.Add(this.enmPrefabs[8]);
																																																																																															list.Add(this.enmPrefabs[9]);
																																																																																															list.Add(this.enmPrefabs[10]);
																																																																																															list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																																														}
																																																																																													}
																																																																																													else
																																																																																													{
																																																																																														list.Add(this.enmPrefabs[7]);
																																																																																														list.Add(this.enmPrefabs[8]);
																																																																																														list.Add(this.enmPrefabs[9]);
																																																																																														list.Add(this.enmPrefabs[10]);
																																																																																														list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																																													}
																																																																																												}
																																																																																												else
																																																																																												{
																																																																																													list.Add(this.enmPrefabs[7]);
																																																																																													list.Add(this.enmPrefabs[8]);
																																																																																													list.Add(this.enmPrefabs[9]);
																																																																																													list.Add(this.enmPrefabs[10]);
																																																																																													list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																																												}
																																																																																											}
																																																																																											else
																																																																																											{
																																																																																												list.Add(this.enmPrefabs[10]);
																																																																																												list.Add(this.enmPrefabs[10]);
																																																																																												list.Add(this.enmPrefabs[10]);
																																																																																											}
																																																																																										}
																																																																																										else
																																																																																										{
																																																																																											list.Add(this.enmPrefabs[6]);
																																																																																											list.Add(this.enmPrefabs[7]);
																																																																																											list.Add(this.enmPrefabs[8]);
																																																																																											list.Add(this.enmPrefabs[9]);
																																																																																											list.Add(this.enmPrefabs[10]);
																																																																																											list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																																										}
																																																																																									}
																																																																																									else
																																																																																									{
																																																																																										list.Add(this.enmPrefabs[6]);
																																																																																										list.Add(this.enmPrefabs[7]);
																																																																																										list.Add(this.enmPrefabs[8]);
																																																																																										list.Add(this.enmPrefabs[9]);
																																																																																										list.Add(this.enmPrefabs[10]);
																																																																																										list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																																									}
																																																																																								}
																																																																																								else
																																																																																								{
																																																																																									list.Add(this.enmPrefabs[6]);
																																																																																									list.Add(this.enmPrefabs[7]);
																																																																																									list.Add(this.enmPrefabs[8]);
																																																																																									list.Add(this.enmPrefabs[9]);
																																																																																									list.Add(this.enmPrefabs[10]);
																																																																																									list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																																								}
																																																																																							}
																																																																																							else
																																																																																							{
																																																																																								list.Add(this.enmPrefabs[6]);
																																																																																								list.Add(this.enmPrefabs[7]);
																																																																																								list.Add(this.enmPrefabs[8]);
																																																																																								list.Add(this.enmPrefabs[9]);
																																																																																								list.Add(this.enmPrefabs[10]);
																																																																																								list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																																							}
																																																																																						}
																																																																																						else
																																																																																						{
																																																																																							list.Add(this.enmPrefabs[4]);
																																																																																							list.Add(this.enmPrefabs[5]);
																																																																																							list.Add(this.enmPrefabs[11]);
																																																																																							list.Add(this.enmPrefabs[0]);
																																																																																						}
																																																																																					}
																																																																																					else
																																																																																					{
																																																																																						list.Add(this.enmPrefabs[6]);
																																																																																						list.Add(this.enmPrefabs[7]);
																																																																																						list.Add(this.enmPrefabs[8]);
																																																																																						list.Add(this.enmPrefabs[9]);
																																																																																						list.Add(this.enmPrefabs[10]);
																																																																																						list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																																					}
																																																																																				}
																																																																																				else
																																																																																				{
																																																																																					list.Add(this.enmPrefabs[6]);
																																																																																					list.Add(this.enmPrefabs[7]);
																																																																																					list.Add(this.enmPrefabs[8]);
																																																																																					list.Add(this.enmPrefabs[9]);
																																																																																					list.Add(this.enmPrefabs[10]);
																																																																																					list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																																				}
																																																																																			}
																																																																																			else
																																																																																			{
																																																																																				list.Add(this.enmPrefabs[6]);
																																																																																				list.Add(this.enmPrefabs[7]);
																																																																																				list.Add(this.enmPrefabs[8]);
																																																																																				list.Add(this.enmPrefabs[9]);
																																																																																				list.Add(this.enmPrefabs[10]);
																																																																																				list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																																			}
																																																																																		}
																																																																																		else
																																																																																		{
																																																																																			list.Add(this.enmPrefabs[6]);
																																																																																			list.Add(this.enmPrefabs[7]);
																																																																																			list.Add(this.enmPrefabs[8]);
																																																																																			list.Add(this.enmPrefabs[9]);
																																																																																			list.Add(this.enmPrefabs[10]);
																																																																																			list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																																		}
																																																																																	}
																																																																																	else
																																																																																	{
																																																																																		list.Add(this.enmPrefabs[6]);
																																																																																		list.Add(this.enmPrefabs[11]);
																																																																																		list.Add(this.enmPrefabs[11]);
																																																																																	}
																																																																																}
																																																																																else
																																																																																{
																																																																																	list.Add(this.enmPrefabs[6]);
																																																																																	list.Add(this.enmPrefabs[7]);
																																																																																	list.Add(this.enmPrefabs[8]);
																																																																																	list.Add(this.enmPrefabs[9]);
																																																																																	list.Add(this.enmPrefabs[10]);
																																																																																	list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																																}
																																																																															}
																																																																															else
																																																																															{
																																																																																list.Add(this.enmPrefabs[6]);
																																																																																list.Add(this.enmPrefabs[7]);
																																																																																list.Add(this.enmPrefabs[8]);
																																																																																list.Add(this.enmPrefabs[9]);
																																																																																list.Add(this.enmPrefabs[10]);
																																																																																list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																															}
																																																																														}
																																																																														else
																																																																														{
																																																																															list.Add(this.enmPrefabs[6]);
																																																																															list.Add(this.enmPrefabs[7]);
																																																																															list.Add(this.enmPrefabs[8]);
																																																																															list.Add(this.enmPrefabs[9]);
																																																																															list.Add(this.enmPrefabs[10]);
																																																																															list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																														}
																																																																													}
																																																																													else
																																																																													{
																																																																														list.Add(this.enmPrefabs[6]);
																																																																														list.Add(this.enmPrefabs[7]);
																																																																														list.Add(this.enmPrefabs[8]);
																																																																														list.Add(this.enmPrefabs[9]);
																																																																														list.Add(this.enmPrefabs[10]);
																																																																														list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																													}
																																																																												}
																																																																												else
																																																																												{
																																																																													list.Add(this.enmPrefabs[11]);
																																																																												}
																																																																											}
																																																																											else
																																																																											{
																																																																												list.Add(this.enmPrefabs[6]);
																																																																												list.Add(this.enmPrefabs[7]);
																																																																												list.Add(this.enmPrefabs[8]);
																																																																												list.Add(this.enmPrefabs[9]);
																																																																												list.Add(this.enmPrefabs[10]);
																																																																												list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																											}
																																																																										}
																																																																										else
																																																																										{
																																																																											list.Add(this.enmPrefabs[6]);
																																																																											list.Add(this.enmPrefabs[7]);
																																																																											list.Add(this.enmPrefabs[8]);
																																																																											list.Add(this.enmPrefabs[9]);
																																																																											list.Add(this.enmPrefabs[10]);
																																																																											list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																										}
																																																																									}
																																																																									else
																																																																									{
																																																																										list.Add(this.enmPrefabs[6]);
																																																																										list.Add(this.enmPrefabs[7]);
																																																																										list.Add(this.enmPrefabs[8]);
																																																																										list.Add(this.enmPrefabs[9]);
																																																																										list.Add(this.enmPrefabs[10]);
																																																																										list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																									}
																																																																								}
																																																																								else
																																																																								{
																																																																									list.Add(this.enmPrefabs[6]);
																																																																									list.Add(this.enmPrefabs[7]);
																																																																									list.Add(this.enmPrefabs[8]);
																																																																									list.Add(this.enmPrefabs[9]);
																																																																									list.Add(this.enmPrefabs[10]);
																																																																									list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																								}
																																																																							}
																																																																							else
																																																																							{
																																																																								list.Add(this.enmPrefabs[4]);
																																																																								list.Add(this.enmPrefabs[4]);
																																																																							}
																																																																						}
																																																																						else
																																																																						{
																																																																							list.Add(this.enmPrefabs[6]);
																																																																							list.Add(this.enmPrefabs[7]);
																																																																							list.Add(this.enmPrefabs[8]);
																																																																							list.Add(this.enmPrefabs[9]);
																																																																							list.Add(this.enmPrefabs[10]);
																																																																							list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																						}
																																																																					}
																																																																					else
																																																																					{
																																																																						list.Add(this.enmPrefabs[6]);
																																																																						list.Add(this.enmPrefabs[7]);
																																																																						list.Add(this.enmPrefabs[8]);
																																																																						list.Add(this.enmPrefabs[9]);
																																																																						list.Add(this.enmPrefabs[10]);
																																																																						list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																					}
																																																																				}
																																																																				else
																																																																				{
																																																																					list.Add(this.enmPrefabs[6]);
																																																																					list.Add(this.enmPrefabs[7]);
																																																																					list.Add(this.enmPrefabs[8]);
																																																																					list.Add(this.enmPrefabs[9]);
																																																																					list.Add(this.enmPrefabs[10]);
																																																																					list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																				}
																																																																			}
																																																																			else
																																																																			{
																																																																				list.Add(this.enmPrefabs[6]);
																																																																				list.Add(this.enmPrefabs[7]);
																																																																				list.Add(this.enmPrefabs[8]);
																																																																				list.Add(this.enmPrefabs[9]);
																																																																				list.Add(this.enmPrefabs[10]);
																																																																				list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																			}
																																																																		}
																																																																		else
																																																																		{
																																																																			list.Add(this.enmPrefabs[5]);
																																																																			list.Add(this.enmPrefabs[5]);
																																																																			list.Add(this.enmPrefabs[5]);
																																																																			list.Add(this.enmPrefabs[5]);
																																																																		}
																																																																	}
																																																																	else
																																																																	{
																																																																		list.Add(this.enmPrefabs[6]);
																																																																		list.Add(this.enmPrefabs[7]);
																																																																		list.Add(this.enmPrefabs[8]);
																																																																		list.Add(this.enmPrefabs[9]);
																																																																		list.Add(this.enmPrefabs[10]);
																																																																		list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																	}
																																																																}
																																																																else
																																																																{
																																																																	list.Add(this.enmPrefabs[6]);
																																																																	list.Add(this.enmPrefabs[7]);
																																																																	list.Add(this.enmPrefabs[8]);
																																																																	list.Add(this.enmPrefabs[9]);
																																																																	list.Add(this.enmPrefabs[10]);
																																																																	list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																																}
																																																															}
																																																															else
																																																															{
																																																																list.Add(this.enmPrefabs[6]);
																																																																list.Add(this.enmPrefabs[7]);
																																																																list.Add(this.enmPrefabs[8]);
																																																																list.Add(this.enmPrefabs[9]);
																																																																list.Add(this.enmPrefabs[10]);
																																																																list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																															}
																																																														}
																																																														else
																																																														{
																																																															list.Add(this.enmPrefabs[6]);
																																																															list.Add(this.enmPrefabs[7]);
																																																															list.Add(this.enmPrefabs[8]);
																																																															list.Add(this.enmPrefabs[9]);
																																																															list.Add(this.enmPrefabs[10]);
																																																															list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																														}
																																																													}
																																																													else
																																																													{
																																																														list.Add(this.enmPrefabs[10]);
																																																													}
																																																												}
																																																												else
																																																												{
																																																													list.Add(this.enmPrefabs[2]);
																																																													list.Add(this.enmPrefabs[3]);
																																																													list.Add(this.enmPrefabs[6]);
																																																													list.Add(this.enmPrefabs[7]);
																																																													list.Add(this.enmPrefabs[8]);
																																																													list.Add(this.enmPrefabs[9]);
																																																													list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																												}
																																																											}
																																																											else
																																																											{
																																																												list.Add(this.enmPrefabs[2]);
																																																												list.Add(this.enmPrefabs[3]);
																																																												list.Add(this.enmPrefabs[6]);
																																																												list.Add(this.enmPrefabs[7]);
																																																												list.Add(this.enmPrefabs[8]);
																																																												list.Add(this.enmPrefabs[9]);
																																																												list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																											}
																																																										}
																																																										else
																																																										{
																																																											list.Add(this.enmPrefabs[2]);
																																																											list.Add(this.enmPrefabs[3]);
																																																											list.Add(this.enmPrefabs[6]);
																																																											list.Add(this.enmPrefabs[7]);
																																																											list.Add(this.enmPrefabs[8]);
																																																											list.Add(this.enmPrefabs[9]);
																																																											list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																										}
																																																									}
																																																									else
																																																									{
																																																										list.Add(this.enmPrefabs[2]);
																																																										list.Add(this.enmPrefabs[3]);
																																																										list.Add(this.enmPrefabs[6]);
																																																										list.Add(this.enmPrefabs[7]);
																																																										list.Add(this.enmPrefabs[8]);
																																																										list.Add(this.enmPrefabs[9]);
																																																										list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																									}
																																																								}
																																																								else
																																																								{
																																																									list.Add(this.enmPrefabs[2]);
																																																									list.Add(this.enmPrefabs[3]);
																																																									list.Add(this.enmPrefabs[6]);
																																																									list.Add(this.enmPrefabs[7]);
																																																									list.Add(this.enmPrefabs[8]);
																																																									list.Add(this.enmPrefabs[9]);
																																																									list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																									list.Add(this.enmPrefabs[5]);
																																																								}
																																																							}
																																																							else
																																																							{
																																																								list.Add(this.enmPrefabs[2]);
																																																								list.Add(this.enmPrefabs[3]);
																																																								list.Add(this.enmPrefabs[6]);
																																																								list.Add(this.enmPrefabs[7]);
																																																								list.Add(this.enmPrefabs[8]);
																																																								list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																							}
																																																						}
																																																						else
																																																						{
																																																							list.Add(this.enmPrefabs[2]);
																																																							list.Add(this.enmPrefabs[3]);
																																																							list.Add(this.enmPrefabs[6]);
																																																							list.Add(this.enmPrefabs[7]);
																																																							list.Add(this.enmPrefabs[8]);
																																																							list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																						}
																																																					}
																																																					else
																																																					{
																																																						list.Add(this.enmPrefabs[2]);
																																																						list.Add(this.enmPrefabs[3]);
																																																						list.Add(this.enmPrefabs[6]);
																																																						list.Add(this.enmPrefabs[7]);
																																																						list.Add(this.enmPrefabs[8]);
																																																						list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																					}
																																																				}
																																																				else
																																																				{
																																																					list.Add(this.enmPrefabs[2]);
																																																					list.Add(this.enmPrefabs[3]);
																																																					list.Add(this.enmPrefabs[6]);
																																																					list.Add(this.enmPrefabs[7]);
																																																					list.Add(this.enmPrefabs[8]);
																																																					list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																				}
																																																			}
																																																			else
																																																			{
																																																				list.Add(this.enmPrefabs[4]);
																																																			}
																																																		}
																																																		else
																																																		{
																																																			list.Add(this.enmPrefabs[2]);
																																																			list.Add(this.enmPrefabs[3]);
																																																			list.Add(this.enmPrefabs[6]);
																																																			list.Add(this.enmPrefabs[7]);
																																																			list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																		}
																																																	}
																																																	else
																																																	{
																																																		list.Add(this.enmPrefabs[2]);
																																																		list.Add(this.enmPrefabs[3]);
																																																		list.Add(this.enmPrefabs[6]);
																																																		list.Add(this.enmPrefabs[7]);
																																																		list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																	}
																																																}
																																																else
																																																{
																																																	list.Add(this.enmPrefabs[2]);
																																																	list.Add(this.enmPrefabs[3]);
																																																	list.Add(this.enmPrefabs[6]);
																																																	list.Add(this.enmPrefabs[7]);
																																																	list = this.RandomEnemyList(list, Random.Range(1, 4));
																																																}
																																															}
																																															else
																																															{
																																																list.Add(this.enmPrefabs[2]);
																																																list.Add(this.enmPrefabs[3]);
																																																list.Add(this.enmPrefabs[6]);
																																																list.Add(this.enmPrefabs[7]);
																																																list = this.RandomEnemyList(list, Random.Range(1, 4));
																																															}
																																														}
																																														else
																																														{
																																															list.Add(this.enmPrefabs[2]);
																																															list.Add(this.enmPrefabs[3]);
																																															list.Add(this.enmPrefabs[6]);
																																															list.Add(this.enmPrefabs[7]);
																																															list = this.RandomEnemyList(list, Random.Range(1, 4));
																																														}
																																													}
																																													else
																																													{
																																														list.Add(this.enmPrefabs[0]);
																																														list.Add(this.enmPrefabs[2]);
																																														list.Add(this.enmPrefabs[3]);
																																														list.Add(this.enmPrefabs[6]);
																																														list.Add(this.enmPrefabs[7]);
																																														list = this.RandomEnemyList(list, Random.Range(1, 4));
																																													}
																																												}
																																												else
																																												{
																																													list.Add(this.enmPrefabs[0]);
																																													list.Add(this.enmPrefabs[2]);
																																													list.Add(this.enmPrefabs[3]);
																																													list.Add(this.enmPrefabs[6]);
																																													list.Add(this.enmPrefabs[7]);
																																													list = this.RandomEnemyList(list, Random.Range(1, 4));
																																												}
																																											}
																																											else
																																											{
																																												list.Add(this.enmPrefabs[0]);
																																												list.Add(this.enmPrefabs[2]);
																																												list.Add(this.enmPrefabs[3]);
																																												list.Add(this.enmPrefabs[6]);
																																												list.Add(this.enmPrefabs[7]);
																																												list = this.RandomEnemyList(list, Random.Range(1, 4));
																																											}
																																										}
																																										else
																																										{
																																											list.Add(this.enmPrefabs[7]);
																																											list.Add(this.enmPrefabs[2]);
																																										}
																																									}
																																									else
																																									{
																																										list.Add(this.enmPrefabs[0]);
																																										list.Add(this.enmPrefabs[0]);
																																										list.Add(this.enmPrefabs[0]);
																																										list.Add(this.enmPrefabs[0]);
																																										list.Add(this.enmPrefabs[0]);
																																									}
																																								}
																																								else
																																								{
																																									list.Add(this.enmPrefabs[0]);
																																									list.Add(this.enmPrefabs[2]);
																																									list.Add(this.enmPrefabs[3]);
																																									list.Add(this.enmPrefabs[6]);
																																									list.Add(this.enmPrefabs[7]);
																																									list = this.RandomEnemyList(list, Random.Range(1, 4));
																																								}
																																							}
																																							else
																																							{
																																								list.Add(this.enmPrefabs[0]);
																																								list.Add(this.enmPrefabs[2]);
																																								list.Add(this.enmPrefabs[3]);
																																								list.Add(this.enmPrefabs[6]);
																																								list.Add(this.enmPrefabs[7]);
																																								list = this.RandomEnemyList(list, Random.Range(1, 3));
																																							}
																																						}
																																						else
																																						{
																																							list.Add(this.enmPrefabs[0]);
																																							list.Add(this.enmPrefabs[2]);
																																							list.Add(this.enmPrefabs[3]);
																																							list.Add(this.enmPrefabs[6]);
																																							list.Add(this.enmPrefabs[7]);
																																							list = this.RandomEnemyList(list, Random.Range(1, 4));
																																						}
																																					}
																																					else
																																					{
																																						list.Add(this.enmPrefabs[0]);
																																						list.Add(this.enmPrefabs[2]);
																																						list.Add(this.enmPrefabs[3]);
																																						list.Add(this.enmPrefabs[6]);
																																						list.Add(this.enmPrefabs[7]);
																																						list = this.RandomEnemyList(list, Random.Range(1, 3));
																																					}
																																				}
																																				else
																																				{
																																					list.Add(this.enmPrefabs[0]);
																																					list.Add(this.enmPrefabs[2]);
																																					list.Add(this.enmPrefabs[3]);
																																					list.Add(this.enmPrefabs[6]);
																																					list.Add(this.enmPrefabs[7]);
																																					list = this.RandomEnemyList(list, Random.Range(1, 3));
																																					list.Add(this.enmPrefabs[5]);
																																				}
																																			}
																																			else
																																			{
																																				list.Add(this.enmPrefabs[0]);
																																				list.Add(this.enmPrefabs[2]);
																																				list.Add(this.enmPrefabs[3]);
																																				list.Add(this.enmPrefabs[6]);
																																				list.Add(this.enmPrefabs[7]);
																																				list = this.RandomEnemyList(list, Random.Range(1, 4));
																																			}
																																		}
																																		else
																																		{
																																			list.Add(this.enmPrefabs[0]);
																																			list.Add(this.enmPrefabs[2]);
																																			list.Add(this.enmPrefabs[3]);
																																			list.Add(this.enmPrefabs[6]);
																																			list.Add(this.enmPrefabs[7]);
																																			list = this.RandomEnemyList(list, Random.Range(1, 4));
																																		}
																																	}
																																	else
																																	{
																																		list.Add(this.enmPrefabs[2]);
																																		list.Add(this.enmPrefabs[3]);
																																		list.Add(this.enmPrefabs[6]);
																																		list.Add(this.enmPrefabs[7]);
																																		list = this.RandomEnemyList(list, Random.Range(1, 3));
																																	}
																																}
																																else
																																{
																																	list.Add(this.enmPrefabs[2]);
																																	list.Add(this.enmPrefabs[3]);
																																	list.Add(this.enmPrefabs[6]);
																																	list = this.RandomEnemyList(list, Random.Range(1, 3));
																																}
																															}
																															else
																															{
																																list.Add(this.enmPrefabs[7]);
																															}
																														}
																														else
																														{
																															list.Add(this.enmPrefabs[2]);
																															list.Add(this.enmPrefabs[3]);
																															list.Add(this.enmPrefabs[6]);
																															list = this.RandomEnemyList(list, Random.Range(1, 4));
																														}
																													}
																													else
																													{
																														list.Add(this.enmPrefabs[0]);
																														list.Add(this.enmPrefabs[2]);
																														list.Add(this.enmPrefabs[3]);
																														list.Add(this.enmPrefabs[6]);
																														list = this.RandomEnemyList(list, Random.Range(1, 3));
																													}
																												}
																												else
																												{
																													list.Add(this.enmPrefabs[2]);
																													list.Add(this.enmPrefabs[3]);
																													list.Add(this.enmPrefabs[6]);
																													list = this.RandomEnemyList(list, Random.Range(1, 3));
																												}
																											}
																											else
																											{
																												list.Add(this.enmPrefabs[2]);
																												list.Add(this.enmPrefabs[3]);
																												list.Add(this.enmPrefabs[6]);
																												list = this.RandomEnemyList(list, Random.Range(1, 4));
																											}
																										}
																										else
																										{
																											list.Add(this.enmPrefabs[0]);
																											list.Add(this.enmPrefabs[2]);
																											list.Add(this.enmPrefabs[3]);
																											list.Add(this.enmPrefabs[6]);
																											list = this.RandomEnemyList(list, Random.Range(1, 2));
																											list.Add(this.enmPrefabs[5]);
																										}
																									}
																									else
																									{
																										list.Add(this.enmPrefabs[2]);
																										list.Add(this.enmPrefabs[3]);
																										list.Add(this.enmPrefabs[6]);
																										list = this.RandomEnemyList(list, Random.Range(1, 4));
																									}
																								}
																								else
																								{
																									list.Add(this.enmPrefabs[0]);
																									list.Add(this.enmPrefabs[2]);
																									list.Add(this.enmPrefabs[3]);
																									list.Add(this.enmPrefabs[6]);
																									list = this.RandomEnemyList(list, Random.Range(1, 3));
																								}
																							}
																							else
																							{
																								list.Add(this.enmPrefabs[2]);
																								list.Add(this.enmPrefabs[3]);
																								list.Add(this.enmPrefabs[6]);
																								list = this.RandomEnemyList(list, Random.Range(1, 4));
																							}
																						}
																						else
																						{
																							list.Add(this.enmPrefabs[0]);
																							list.Add(this.enmPrefabs[2]);
																							list.Add(this.enmPrefabs[3]);
																							list.Add(this.enmPrefabs[6]);
																							list = this.RandomEnemyList(list, Random.Range(1, 3));
																						}
																					}
																					else
																					{
																						list.Add(this.enmPrefabs[5]);
																					}
																				}
																				else
																				{
																					list.Add(this.enmPrefabs[2]);
																					list.Add(this.enmPrefabs[3]);
																					list.Add(this.enmPrefabs[6]);
																					list = this.RandomEnemyList(list, Random.Range(1, 3));
																				}
																			}
																			else
																			{
																				list.Add(this.enmPrefabs[0]);
																				list.Add(this.enmPrefabs[2]);
																				list.Add(this.enmPrefabs[3]);
																				list = this.RandomEnemyList(list, Random.Range(1, 3));
																			}
																		}
																		else
																		{
																			list.Add(this.enmPrefabs[2]);
																			list.Add(this.enmPrefabs[3]);
																			list = this.RandomEnemyList(list, Random.Range(1, 3));
																		}
																	}
																	else
																	{
																		list.Add(this.enmPrefabs[0]);
																		list.Add(this.enmPrefabs[2]);
																		list.Add(this.enmPrefabs[3]);
																		list = this.RandomEnemyList(list, Random.Range(1, 3));
																	}
																}
																else
																{
																	list.Add(this.enmPrefabs[3]);
																}
															}
															else
															{
																list.Add(this.enmPrefabs[0]);
																list.Add(this.enmPrefabs[2]);
																list = this.RandomEnemyList(list, Random.Range(1, 4));
															}
														}
														else
														{
															list.Add(this.enmPrefabs[2]);
														}
													}
													else
													{
														list.Add(this.enmPrefabs[0]);
														list.Add(this.enmPrefabs[2]);
														list = this.RandomEnemyList(list, Random.Range(1, 3));
													}
												}
												else
												{
													list.Add(this.enmPrefabs[0]);
													list.Add(this.enmPrefabs[2]);
													list = this.RandomEnemyList(list, Random.Range(1, 3));
												}
											}
											else
											{
												list.Add(this.enmPrefabs[2]);
											}
										}
										else
										{
											list.Add(this.enmPrefabs[0]);
											list = this.RandomEnemyList(list, Random.Range(1, 3));
										}
									}
									else
									{
										list.Add(this.enmPrefabs[0]);
										list.Add(this.enmPrefabs[1]);
										list = this.RandomEnemyList(list, Random.Range(1, 3));
									}
								}
								else
								{
									list.Add(this.enmPrefabs[0]);
									list.Add(this.enmPrefabs[1]);
									list = this.RandomEnemyList(list, Random.Range(1, 3));
								}
							}
							else
							{
								list.Add(this.enmPrefabs[0]);
								list = this.RandomEnemyList(list, Random.Range(1, 3));
							}
						}
						else
						{
							list.Add(this.enmPrefabs[0]);
							list = this.RandomEnemyList(list, Random.Range(1, 3));
						}
					}
					else
					{
						list.Add(this.enmPrefabs[0]);
						list = this.RandomEnemyList(list, Random.Range(1, 3));
					}
				}
				else
				{
					list.Add(this.enmPrefabs[0]);
				}
			}
			else
			{
				list.Add(this.enmPrefabs[0]);
			}
		}
		else
		{
			list.Add(this.enmPrefabs[0]);
		}
		if (this.playerPrefab == "Special/ZedOrigin")
		{
			for (int j = 0; j < list.Count; j++)
			{
				if (list[j] == this.enmPrefabs[1])
				{
					list[j] = this.enmPrefabs[0];
					MonoBehaviour.print("replacing..");
				}
			}
		}
		for (int k = 0; k < list.Count; k++)
		{
			GameObject gameObject = Object.Instantiate<GameObject>(list[k], this.spawnPoints[0].position + Vector3.up * (float)k * 4f, Quaternion.identity);
			this.bodies.Add(gameObject.GetComponent<BodyScript>());
			this.ai = gameObject.GetComponent<AI>();
			if (PlayerPrefs.GetString("character") != "Special/VrPlayer")
			{
				this.ai.target = this.playerBody;
			}
			switch (PlayerPrefs.GetInt("difficulty"))
			{
			case 0:
				this.ai.aggresion += this.waveNumber * 0.005f;
				this.ai.aggresion -= 0.8f;
				this.ai.reflexes += this.waveNumber * 0.005f;
				this.ai.reflexes -= 0.8f;
				this.ai.desiredAttackCooldown -= this.waveNumber * 0.004f;
				this.ai.desiredAttackCooldown += 1.5f;
				this.bodies[k].overallForce += this.waveNumber * 0.01f;
				this.bodies[k].overallForce -= 1.5f;
				this.bodies[k].attackTimeMult += this.waveNumber * 0.003f;
				this.bodies[k].attackTimeMult -= 0.5f;
				this.bodies[k].health *= 0.3f;
				this.bodies[k].maxHealth *= 0.3f;
				this.bodies[k].hitStunMult += 1.5f;
				break;
			case 1:
				this.ai.aggresion += this.waveNumber * 0.005f;
				this.ai.aggresion -= 0.4f;
				this.ai.reflexes += this.waveNumber * 0.005f;
				this.ai.reflexes -= 0.4f;
				this.ai.desiredAttackCooldown -= this.waveNumber * 0.004f;
				this.ai.desiredAttackCooldown += 0.65f;
				this.bodies[k].overallForce += this.waveNumber * 0.01f;
				this.bodies[k].overallForce -= 0.8f;
				this.bodies[k].attackTimeMult += this.waveNumber * 0.003f;
				this.bodies[k].attackTimeMult -= 0.25f;
				this.bodies[k].health *= 0.5f;
				this.bodies[k].maxHealth *= 0.5f;
				this.bodies[k].hitStunMult += 0.8f;
				break;
			case 2:
				this.ai.aggresion += this.waveNumber * 0.05f;
				this.ai.reflexes += this.waveNumber * 0.005f;
				this.ai.desiredAttackCooldown -= this.waveNumber * 0.004f;
				this.bodies[k].overallForce += this.waveNumber * 0.01f;
				this.bodies[k].attackTimeMult += this.waveNumber * 0.003f;
				this.bodies[k].health *= 0.75f;
				this.bodies[k].maxHealth *= 0.75f;
				break;
			}
		}
		if (this.wep && !this.wep.held)
		{
			this.wep.gameObject.AddComponent<DissapearHandler>();
		}
		GameObject[] array = Resources.LoadAll<GameObject>("Weapon");
		GameObject gameObject2 = Object.Instantiate<GameObject>(array[Random.Range(0, array.Length)], this.spawnPoints[1].position, Quaternion.identity);
		if (this.waveNumber == 1f)
		{
			gameObject2.transform.position = new Vector3(2000f, 2000f);
		}
		this.wep = gameObject2.GetComponent<WeaponScript>();
		if ((float)PlayerPrefs.GetInt("highScore") < this.waveNumber && PlayerPrefs.GetInt("difficulty") > 0)
		{
			PlayerPrefs.SetInt("highScore", (int)this.waveNumber);
		}
		this.highScoreText.text = "Highscore: wave " + PlayerPrefs.GetInt("highScore").ToString();
		if (this.playerPrefab == "Special/VrPlayer")
		{
			for (int l = 0; l < this.vrGuys.Count; l++)
			{
				if (this.vrGuys[l] == null)
				{
					this.vrGuys.RemoveAt(l);
				}
			}
			if (this.vrGuys.Count < 1)
			{
				GameObject gameObject3 = (GameObject)Object.Instantiate(Resources.Load("Enemy/VrBuddy"), this.playerBody.torso.transform.position + Vector3.up * 3f, Quaternion.identity);
				gameObject3.GetComponent<BodyScript>().team = "goodguy";
				Sound.Play(gameObject3.GetComponent<VoiceScript>().painSounds[Random.Range(0, gameObject3.GetComponent<VoiceScript>().painSounds.Length)], gameObject3.GetComponent<BodyScript>().head.transform.position, false, true, 1f);
				this.vrGuys.Add(gameObject3);
				this.vrAlly = gameObject3.GetComponentInChildren<BodyScript>();
				Object.Destroy(Object.Instantiate<GameObject>(Resources.Load<GameObject>("VrBuddySpawn"), gameObject3.GetComponent<BodyScript>().torso.transform.position, Quaternion.identity), 0.5f);
				Sound.Play(Resources.Load<AudioClip>("Sounds/Grunt/BigDeath/VRGuyDeath4"), this.playerBody.torso.transform.position, false, true, 1f);
			}
		}
	}

	// Token: 0x06000061 RID: 97 RVA: 0x0000C784 File Offset: 0x0000A984
	private void LateUpdate()
	{
		if (!this.playerBody.holdingMain)
		{
			this.indicatorAlpha += Time.deltaTime * 0.4f;
		}
		else
		{
			this.indicatorAlpha -= Time.deltaTime * 0.27f;
		}
		this.indicatorAlpha = Mathf.Clamp(this.indicatorAlpha, 0f, 0.25f);
		this.playerIndicator.color = new Color(this.playerBody.dizzyIconColor.r, this.playerBody.dizzyIconColor.g, this.playerBody.dizzyIconColor.b, this.indicatorAlpha);
		this.playerIndicator.transform.position = Vector2.Lerp(this.playerIndicator.transform.position, this.playerBody.head.position + Vector2.up * this.playerBody.dizzyIconYOffset + Vector2.up * 0.55f, 20f * Time.deltaTime);
	}

	// Token: 0x06000062 RID: 98 RVA: 0x0000C8B0 File Offset: 0x0000AAB0
	private void Update()
	{
		if (Input.GetKeyDown(this.konamisequence[this.sequenceIndex]))
		{
			int i = this.sequenceIndex + 1;
			this.sequenceIndex = i;
			if (i == this.konamisequence.Length)
			{
				this.sceneLoadTarget = "Madness2";
				this.fadingOut = true;
				this.sequenceIndex = 0;
			}
		}
		else if (Input.anyKeyDown)
		{
			this.sequenceIndex = 0;
		}
		if (Input.GetKeyDown(KeyCode.Alpha0))
		{
			this.fadingOut = true;
			PauseManager.main.GetComponent<Canvas>().sortingOrder = 0;
		}
		if (this.fadingOut)
		{
			this.fadeProgress += Time.unscaledDeltaTime * 2f;
			this.uiFade.color = new Color(0f, 0f, 0f, this.fadeProgress);
			if (this.fadeProgress >= 1f)
			{
				SceneManager.LoadScene(this.sceneLoadTarget);
			}
		}
		else
		{
			this.fadeProgress -= Time.unscaledDeltaTime * 2f;
			this.uiFade.color = new Color(0f, 0f, 0f, this.fadeProgress);
		}
		this.fadeProgress = Mathf.Clamp01(this.fadeProgress);
		bool flag = false;
		if (this.isArena)
		{
			foreach (BodyScript bodyScript in this.bodies)
			{
				if (!bodyScript)
				{
					this.bodies.Remove(bodyScript);
					break;
				}
				if (bodyScript.alive)
				{
					flag = true;
				}
			}
			if (!flag)
			{
				this.waveTime += Time.deltaTime;
				if (this.waveTime > 3f)
				{
					if (this.waveNumber != 100f)
					{
						this.waveTime = 0f;
						this.SpawnWave();
					}
					else
					{
						this.waveTime = -999999f;
						base.StartCoroutine("ArenaEnd");
					}
				}
			}
			if (!this.playerBody.alive)
			{
				this.upgradeScreen.anchoredPosition = Vector2.Lerp(this.upgradeScreen.anchoredPosition, Vector2.zero, 2f * Time.deltaTime);
				this.difficultyScreen.anchoredPosition = Vector2.Lerp(this.difficultyScreen.anchoredPosition, Vector2.zero, 2f * Time.deltaTime);
				int num = 0;
				foreach (TextMeshProUGUI tmp_Text in this.upgradeTexts)
				{
					num++;
					tmp_Text.text = PlayerPrefs.GetInt("up" + num.ToString()).ToString();
				}
				num = 0;
				foreach (TextMeshProUGUI textMeshProUGUI in this.difficultyTexts)
				{
					if (PlayerPrefs.GetInt("difficulty") != num)
					{
						textMeshProUGUI.fontSize = 15f;
					}
					else
					{
						textMeshProUGUI.fontSize = 22f;
						this.diffDescription.anchoredPosition = Vector2.Lerp(this.diffDescription.anchoredPosition, new Vector2(-410f, textMeshProUGUI.GetComponent<RectTransform>().anchoredPosition.y), Time.deltaTime * 3f);
						this.diffDescriptionText.color = Color.Lerp(Color.white, textMeshProUGUI.color, 0.5f);
					}
					num++;
				}
				num = 0;
				foreach (TextMeshProUGUI textMeshProUGUI2 in this.waveTexts)
				{
					float num2 = (float)num * 20f;
					if (num2 + 1f > (float)PlayerPrefs.GetInt("highScore"))
					{
						textMeshProUGUI2.color = Color.gray;
					}
					else
					{
						textMeshProUGUI2.color = Color.white;
					}
					if ((float)PlayerPrefs.GetInt("startWave") == num2)
					{
						textMeshProUGUI2.fontSize = 30f;
					}
					else
					{
						textMeshProUGUI2.fontSize = 20f;
					}
					num++;
				}
				this.waveRect.anchoredPosition = Vector2.Lerp(this.waveRect.anchoredPosition, Vector2.zero, Time.deltaTime * 2f);
				switch (PlayerPrefs.GetInt("difficulty"))
				{
				case 0:
					this.diffDescriptionText.text = "Easy difficulty.\nEnemies are much less powerful than you.\nFor inexperienced players\n<color=\"red\">No highscore increase";
					break;
				case 1:
					this.diffDescriptionText.text = "Medium difficulty.\nEnemies are slightly less powerful than you.\nMistakes arent punished as hard.";
					break;
				case 2:
					this.diffDescriptionText.text = "\"Hard\" difficulty.\nEnemies are agressive and nearly as powerful as you.\nEnemies have more health";
					break;
				}
				this.deathTipText.color = new Color(1f, 1f, 1f, this.deathTipText.color.a + Time.deltaTime * 0.4f);
			}
		}
	}

	// Token: 0x06000063 RID: 99 RVA: 0x0000CD50 File Offset: 0x0000AF50
	public void ChangeDifficulty(int diff)
	{
		PlayerPrefs.SetInt("difficulty", diff);
		this.diffDescription.gameObject.SetActive(true);
	}

	// Token: 0x06000064 RID: 100 RVA: 0x0000CD6E File Offset: 0x0000AF6E
	public void ChangeWave(int wave)
	{
		if (PlayerPrefs.GetInt("highScore") > wave)
		{
			PlayerPrefs.SetInt("startWave", wave);
		}
	}

	// Token: 0x06000065 RID: 101 RVA: 0x0000CD88 File Offset: 0x0000AF88
	public void ResetProgress()
	{
		PlayerPrefs.SetInt("xp", 0);
		PlayerPrefs.SetInt("sp", 0);
		PlayerPrefs.SetInt("xpCap", 50);
		PlayerPrefs.SetString("character", "Enemy/Enemy");
		PlayerPrefs.SetInt("up1", 0);
		PlayerPrefs.SetInt("up2", 0);
		PlayerPrefs.SetInt("up3", 0);
		PlayerPrefs.SetInt("up4", 0);
		PlayerPrefs.SetInt("up5", 0);
		PlayerPrefs.SetInt("difficulty", 1);
		PlayerPrefs.SetInt("startWave", 0);
		PlayerPrefs.SetInt("highScore", 1);
		PlayerPrefs.SetInt("gameComplete", 0);
		PlayerPrefs.SetInt("runsCompleted", 0);
	}

	// Token: 0x040000F8 RID: 248
	[Tooltip("Set to true on arena scenes. If false, no arena stuff will happen (waves, etc)")]
	public bool isArena;

	// Token: 0x040000F9 RID: 249
	public List<Transform> spawnPoints = new List<Transform>();

	// Token: 0x040000FA RID: 250
	public AI ai;

	// Token: 0x040000FB RID: 251
	public static GameManager main;

	// Token: 0x040000FC RID: 252
	public List<Sprite> bloodGroundBlunt = new List<Sprite>();

	// Token: 0x040000FD RID: 253
	public List<Sprite> bloodGroundSharp = new List<Sprite>();

	// Token: 0x040000FE RID: 254
	public List<Sprite> bloodWallBlunt = new List<Sprite>();

	// Token: 0x040000FF RID: 255
	public List<Sprite> bloodWallSharp = new List<Sprite>();

	// Token: 0x04000100 RID: 256
	[HideInInspector]
	public List<BodyScript> bodies = new List<BodyScript>();

	// Token: 0x04000101 RID: 257
	public BodyScript playerBody;

	// Token: 0x04000102 RID: 258
	public GameObject[] enmPrefabs;

	// Token: 0x04000103 RID: 259
	public float waveNumber = 1f;

	// Token: 0x04000104 RID: 260
	private float waveTime;

	// Token: 0x04000105 RID: 261
	private WeaponScript wep;

	// Token: 0x04000106 RID: 262
	public Image uiFade;

	// Token: 0x04000107 RID: 263
	[HideInInspector]
	public bool fadingOut;

	// Token: 0x04000108 RID: 264
	[HideInInspector]
	public float fadeProgress = 1f;

	// Token: 0x04000109 RID: 265
	public TextMeshProUGUI waveText;

	// Token: 0x0400010A RID: 266
	public TextMeshProUGUI xpText;

	// Token: 0x0400010B RID: 267
	public TextMeshProUGUI spText;

	// Token: 0x0400010C RID: 268
	public TextMeshProUGUI highScoreText;

	// Token: 0x0400010D RID: 269
	public TextMeshProUGUI diffDescriptionText;

	// Token: 0x0400010E RID: 270
	public GameObject arena;

	// Token: 0x0400010F RID: 271
	public GameObject[] arenaPrefabs;

	// Token: 0x04000110 RID: 272
	public string playerPrefab;

	// Token: 0x04000111 RID: 273
	public RectTransform upgradeScreen;

	// Token: 0x04000112 RID: 274
	public RectTransform difficultyScreen;

	// Token: 0x04000113 RID: 275
	public RectTransform diffDescription;

	// Token: 0x04000114 RID: 276
	public RectTransform waveRect;

	// Token: 0x04000115 RID: 277
	public TextMeshProUGUI[] upgradeTexts;

	// Token: 0x04000116 RID: 278
	public TextMeshProUGUI[] difficultyTexts;

	// Token: 0x04000117 RID: 279
	public TextMeshProUGUI[] waveTexts;

	// Token: 0x04000118 RID: 280
	public GameObject upgradeWarning;

	// Token: 0x04000119 RID: 281
	private bool startedWave;

	// Token: 0x0400011A RID: 282
	public int curVersion;

	// Token: 0x0400011B RID: 283
	private bool paused;

	// Token: 0x0400011C RID: 284
	public string sceneLoadTarget;

	// Token: 0x0400011D RID: 285
	public List<GameObject> vrGuys = new List<GameObject>();

	// Token: 0x0400011E RID: 286
	public GameObject endTextObj;

	// Token: 0x0400011F RID: 287
	public TextMeshProUGUI endText;

	// Token: 0x04000120 RID: 288
	public Gradient damageNumEnemy;

	// Token: 0x04000121 RID: 289
	public Gradient damageNumPlayer;

	// Token: 0x04000122 RID: 290
	public List<string> deathTips = new List<string>();

	// Token: 0x04000123 RID: 291
	public TextMeshProUGUI deathTipText;

	// Token: 0x04000124 RID: 292
	[HideInInspector]
	public bool doDmgNum;

	// Token: 0x04000125 RID: 293
	[HideInInspector]
	public BodyScript vrAlly;

	// Token: 0x04000126 RID: 294
	private int sequenceIndex;

	// Token: 0x04000127 RID: 295
	public KeyCode[] konamisequence;

	// Token: 0x04000128 RID: 296
	private SpriteRenderer playerIndicator;

	// Token: 0x04000129 RID: 297
	private float indicatorAlpha;

	// Token: 0x0400012A RID: 298
	public Image progressImg;

	// Token: 0x0400012B RID: 299
	public Image progressBack;
}
